var express = require('express');
var router = express.Router();
// 安装完svg验证码的模块此处进行引入(?安装的时候带express的就在app.js中进行引入没有 的就在routejs中进行引入？？)

var svgCaptcha=require("svg-captcha"); 
/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});
// 生成验证码
// 这个文件就是个路由，是有url的所以在下面的引入的时候其实是在本路径之上加入的
router.get("/api/captcha",function(req,res,next){
  // 创建验证码对象
  var captcha=svgCaptcha.create();//创建出来的验证码对象的格式是// {data: '<svg.../svg>', text: 'abcd'}
  // 将验证码文本内容保存在session中
  req.session.captcha=captcha.text;
  // 将验证码的svg标签返回浏览器
  res.status(200).json({
    res_code:1,
    res_error:"",
    res_body:{
      data:captcha.data
    }
  });
});
// 校验验证码

router.get("/api/captcha/verify",function(req,res,next){
  // 获得请求中传递到服务器的验证码字符串
  const{code}=req.query;//这里用的时解构赋值
  // 比较验证码输入是否正确，与生成时在session中保存的验证码文本字符串进行比较
  var valid;
  if(code.toUpperCase()===req.session.captcha.toUpperCase()){
    // 相同返回
    valid=true;
  }else{
    valid=false;
  }
  // 后台返回给前台的数据
  res.json({
    res_code:1,
    res_error:"",
    res_body:{
      valid   
    }
  });
  // 上面就是后台关于验证码数据的生成跟数据的检验，接下来就是前台的 操作
})

module.exports = router;
